Replace eel_create_spotlight_pixbuf()
authorFederico Mena Quintero <federico@gnome.org>
Wed, 5 Oct 2011 12:26:26 +0000 (07:26 -0500)
committerFederico Mena Quintero <federico@gnome.org>
Tue, 4 Sep 2012 01:54:19 +0000 (20:54 -0500)
We use the normal gtk_style_context_set_state() machinery to set a
prelighted state.  Hopefully even symbolic icons will be rendered
prelighted properly.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
gtk/gtkplacessidebar.c

index 44962d638be7a4e275e5b660d41a7b8a8ffe256a..34dfcb181677bc14153dd0a061a284a496e28768 100644 (file)
@@ -274,17 +274,18 @@ get_eject_icon (GtkPlacesSidebar *sidebar,
        icon_info = gtk_icon_theme_lookup_by_gicon (icon_theme, icon, icon_size, 0);
 
        style = gtk_widget_get_style_context (GTK_WIDGET (sidebar));
+
+       gtk_style_context_save (style);
+
+       if (highlighted)
+               gtk_style_context_set_state (style, GTK_STATE_FLAG_PRELIGHT);
+
        eject = gtk_icon_info_load_symbolic_for_context (icon_info,
                                                         style,
                                                         NULL,
                                                         NULL);
 
-       if (highlighted) {
-               GdkPixbuf *high;
-               high = eel_create_spotlight_pixbuf (eject);
-               g_object_unref (eject);
-               eject = high;
-       }
+       gtk_style_context_restore (context);
 
        g_object_unref (icon);
        gtk_icon_info_free (icon_info);